1. Field of the Invention
This invention relates to symmetrical computer systems, and particularly to a method of sharing resources of a computer system between multiple pipelines without incurring the overhead of cross-arbitration prior to gaining pipe priority.
2. Description of Background
In an SMP computer, such as the IBM® z Series® of mainframe computer systems manufactured by IBM it is vitally important to maintain high levels or performance, while optimizing for timing and circuit area to take advantage of density improvements. In order to accomplish this, many portions of the machine use pipelined resources.
In order to solve various timing/floorplanning issues, pipelines are often replicated and partitioned by using address/data steering techniques (e.g. using address bits), often using parallel pipelines. Normally these pipelines each use dedicated resources and the arbitration can occur independently within a pipeline.
However, there are times when multiple pipelines need to share common resources. Common resources can be shared in a computer having an added shared queue to the common resources and having operations which exit each of the existing pipelines to be queued for the common resource. This can cost considerable queuing area resources to handle the cases when both pipelines each need the common resource for many consecutive cycles. Although this need for the common resource can be rare, the need has to be addressed and the logic to handle this can be complex.
Another way to handle this would be to build extra arbitration into each pipeline to avoid the case where more than one pipeline can contend for the same common resource. This involves each pipeline being aware of the requests to the other pipelines and determining which operations can be released such that there would be no conflicts in the common staging of the pipelines. This has an advantage that there is little extra queuing area because the pipeline queues will hold any requests that have a conflict. Since the conflicts are relatively rare, there is no performance degradation of the seldom blocking of operations.
The disadvantage of this extra arbitration at the top of each pipeline is that the timing/latencies of cross-connecting the pipe requests for arbitration can hurt performance/timing. This increased latency would be incurred by ALL requests to the pipelines. This extra arbitration approach has a negative impact to performance.